package com.eascs.web.o2o.web.aging.service;

import java.util.List;

import com.eascs.workflow.common.entity.wf.DicData;

/**
 * desc:   后台系统权限管理service，包括账号，角色，资源等管理
 */
public interface SysPermissionService {
	
	 /**
     * wf数据字典
     */
    public List<DicData> getDicDataByType(String dataType);
    /*
	 *//**
     * 根据菜单id查询菜单的实体类
     * @param 
     * @return
     *//*

    public SysResources getResourcesByIds(String ids);
    
    public int update(SysResources sysResources);
	
    *//**
     * 根据用户查询权限
     * @param 
     * @return
     *//*
    public ModelResult<List<SysResources>> queryResourcesByUser(SysUser user);

    *//**
     * 查询资源权限列表
     * @param 
     * @return
     *//*
    public ModelResult<List<SysResources>> selectResourcesList();
    
    *//**
     * 查询默认资源权限列表
     * @param 
     * @return
     *//*
    public ModelResult<List<SysResources>> selectDefaultResourcesList();
    
    *//**
     * 查询不是默认资源权限列表
     * @param 
     * @return
     *//*
    public ModelResult<List<SysResources>> selectUnDefaultResourcesList();
    
    *//**
     * 根据Code查询资源权限
     * @param 
     * @return
     *//*
    public List<SysResources> selectResourcesListByCode(String code);
    
    *//**
     * 根据角色查询权限
     * @param 
     * @return
     *//*
    public ModelResult<List<SysResources>> selectResourcesByRoles(SysRole role);
    
    *//**
     * 新增资源权限
     * @param 
     * @return
     *//*
    public ModelResult<SysResources> insertResources(SysResources sysResources);
    
    *//**
     * 修改资源权限
     * @param 
     * @return
     *//*
    public ModelResult<Integer> updateResources(SysResources sysResources);
    
    *//**
     * 删除资源权限
     * @param 
     * @return
     *//*
    public ModelResult<Integer> deleteResources(SysResources sysResources);
    
    *//**
     * ----------------------------------------------------------------------------------
     * 查询角色列表
     * @param 
     * @return
     *//*
    public ModelResult<PageResult<Object[]>> selectRolesPage(SysRole param,int pageSize,int pageIndex);
    
    *//**
     * 查询角色
     *//*
    public ModelResult<SysRole> selectRolesByRole(SysRole sysRole);
    
    *//**
     * 新增角色
     * @return
     *//*
    public ModelResult<Integer> insertRole(SysRole sysRole);
    
    *//**
     * 新增角色
     * @return SysRole
     *//*
    public ModelResult<SysRole> insertRoleReturnRole(SysRole sysRole);
    
    *//**
     * 删除角色
     * @return
     *//*
    public ModelResult<Integer> deleteRole(SysRole sysRole);
    
    *//**
     * 修改角色
     * @return
     *//*
    public ModelResult<Integer> updateRole(SysRole sysRole);
    
    *//**
     * 批量：新增角色资源
     * @return
     *//*
    public ModelResult<Integer> insertRoleResBatch(List<SysRoleResources> roleResList);
    

    *//***
     * 查询人员角色
     * @param param
     * @param pageSize
     * @param pageIndex
     * @return
     *//*
    public ModelResult<PageResult<OrgUserRoleVo>> searchOrgUserRolePage(Map<String, String> param, int pageSize, int pageIndex);

    *//***
     * 查询员工列表
     * @param param
     * @param pageSize
     * @param pageIndex
     * @return
     *//*
    public ModelResult<PageResult<User>> searchEmployeePage(Map<String, String> param, int pageSize, int pageIndex);

    
    *//***
     * 查询层级组织架构
     * @param parentId
     * @param level
     * @return
     *//*
    public ModelResult<List<ActOrgEntity>> getOrgListByLevel(String parentId, int level);
    
    public ModelResult<List<ActOrgEntity>> getLeafNodeByParentId(String orgId);
    
    public ModelResult<List<SysRole>> getRoleList();
    
    *//**
     * 查询员工信息
     * @param userNo
     * @return
     *//*
    public ModelResult<User> getSysUserById(String userNo);
    
    *//**
     * 查询角色层级
     * @param roleId
     * @return
     *//*
    public ModelResult<SysRole> getRoleById(String roleId);
    
    *//**
     * 保存用户角色权限
     * @param orgRoleUserEntity
     * @return
     *//*
    public ModelResult<Integer> saveOrUpdateOrgUserRole(ActOrgRoleUserEntity orgRoleUserEntity);
    
    *//**
	 * 根据员工编号新增用户角色权限
	 * @param orgRoleUserEntity
	 * @return
	 *//*
	public Integer insertOrgUserRoleByempno(User user,String employeeNo,String roleId, String orgId);
    
	*//**
     * 查询组织架构关系分页列表
     * @param 
     * @return
     *//*
    public PageResult<Object[]> selectOrgRoleUserPage(ActOrgRoleUserEntity obj,int pageSize,int pageIndex);
    
    *//**
     * 删除用户角色权限
     * @param id
     * @return
     *//*
    public ModelResult<Integer> delUserRole(String id);
    
    *//**
     * 查询用户角色权限列表
     * @param userNo
     * @param pageSize
     * @param pageIndex
     * @return
     *//*
    public ModelResult<List<ActOrgRoleUserEntity>> getUserRoleList(String userNo);
    
   
    *//**
     * 检查是否超级管理员
     * @param userNo
     * @return
     *//*
    public ModelResult<Boolean> checkIsAdmin(String userNo);

    *//**
     * 检查是否拥有某项角色
     * @param userNo
     * @param roleCode
     * @return
     *//*
	public ModelResult<Boolean> checkAuth(String userNo, String roleCode);
	
	*//**
	 * 联想搜索组织机构人员/经办人（搜索act_org_user员工组织表）
	 * @param userName
	 * @return
	 *//*
	public ModelResult<List<Object[]>> getOperatorList(String userName);
	
	*//**
	 * 联想搜索组织机构人员/经办人
	 * @param userName
	 * @return
	 *//*
	public ModelResult<List<Object[]>> getOperatorListByRoleCode(String userName, String roleCode);
	
	*//**
	 * 联想搜索员工(搜索员工表)
	 * @param likeStr
	 * @return
	 *//*
    public ModelResult<List<Object[]>> getLikeEmployeeList(String employeeName);
    
    *//**
     * 根据角色编号，查询角色相关人
     * @param roleCode
     * @return
     *//*
    public ModelResult<List<User>> getUserWithRoleCode(String roleCode);
    
    *//**
     * 根据平台No,角色Code 查询人员
     * @param unitNo
     * @param roleCode
     * @return
     *//*
    public ModelResult<List<User>> getUserWithUnitNoAndRoleCode(String unitNo,List<String> roleCodeList);

    *//**
     * 分页查询-已分配角色清单
     * @param entity
     * @return
     *//*
	public PageResult<Object[]> findRolePageByResId(SysResourcesFormEntity entity);

	*//**
	 * 分页查询-已分配人员清单
	 * @param entity
	 * @return
	 *//*
	public PageResult<Object[]> findEmployeePageByResId(SysResourcesFormEntity entity);*/
}
